import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Balas que disparan los objetos StarFox
 * 
 * @author Luis Guajardo Olvera
 * @author Daniel Romero Martí
 */
public class Bala extends Actor
{
    private int cont;
    private int aumentaTam;
    private int mueveY;

    /**
     * Constructor de la clase Bala
     */
    public Bala(int coordY)
    {
        cont = 0;
        aumentaTam = 0;
        mueveY=coordY;
    }

    /**
     * Act - do whatever the BalaNave wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    { 
        this.mueve();
        this.escala();
        aumentaTam++;
    }

    /**
     * Escala - Sirve para disminuir el tamaño de la imagen y hace el llamado para desaparecerla
     * despues de cierto tiempo
     */
    public void escala()
    {
        if(aumentaTam==10)
        {  
            GreenfootImage imagen;
            imagen = getImage();
            imagen.scale(imagen.getWidth()-1,imagen.getHeight()-1);
            cont++;
            if(cont>6)
                this.desaparece();
            aumentaTam=0;
        }  

    }

    /**
     * Desaparece - Sirve para desaparecer la bala del mundo
     */
    public void desaparece()
    {
        World mundo;
        mundo = getWorld();
        mundo.removeObject(this);
    }

    /**
     * Mueve - Sirve para recorrer la imagen sobre el escenario
     */
    public void mueve()
    {
        setLocation(getX(),getY()-mueveY);
    }
}
